home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / mmlc / sample.m2 < prev    next >
Text File  |  1995-02-09  |  10KB  |  298 lines

  1. /*
  2.     M's Thema / MML compiler [M] V2.00 sample program
  3.     ----------------------  copyright 1994,1995 S.Yamamoto  
  4.  
  5.   動作チェックの為にプログラムし直したものです。
  6.  
  7. */
  8.  
  9. #define GS // GM音源の場合はこの行を消す
  10.  
  11. .title MMLcompiler [M2] test program 1
  12. .copyright (c)1994 YamaShiN
  13.  
  14. .division 96         // 4分音符あたりの分解能
  15.  
  16. .tempo 138           // テンポ
  17. .signature 4/4       // 拍子
  18.  
  19. .malloc 3000
  20.  
  21. .part 01 03
  22. .part 02 06
  23. .part 03 08
  24. .part 04 04
  25. .part 05 09
  26. .part 06 07
  27. .part 07 01
  28. .part 08 05
  29. .part 09 02
  30. .part 10 10
  31. .part 11 11
  32. .part 12 12
  33. .part 13 13
  34. .part 14 14
  35. .part 15 15
  36. .part 16 16
  37.  
  38. .rhmPart 10          // リズム専用MMLを使用するパート
  39. .rhmNote B 36 127    // bass drum
  40. .rhmNote S 38 127    // acoustic snea
  41. .rhmNote H 42 100    // closed hi-hat
  42. .rhmNote O 46 100    // open hi-hat
  43. .rhmNote C 49 127    // crash cymbal
  44. .rhmNote F 41 127    // low-floor tom
  45. .rhmNote L 45 127    // low tom
  46. .rhmNote M 48 127    // high mid-tom
  47. .rhmNote T 50 127    // high tom
  48.  
  49. .begin               // 必ず必要    以下にMMLブロック行
  50. //  .begin 以後にコントロール命令を書くと、それはブロック名
  51. // と解釈されてしまうので注意!!*************
  52.  
  53. #ifdef  GS
  54. # message GS mode de compile
  55. # define RESET @x[4110421240007f0041] /* GSreset */
  56. #else
  57. # message GM SYSTEM de compile
  58. # define RESET @x[7E7F0901] /* GM system ON */
  59. #endif
  60.  
  61.  
  62. SetUp()
  63. {
  64. 16[0]=$RESET r2;
  65. 16[1]=@w"MML compiler [M2] sample program 1";
  66. #ifdef GS
  67. 16[2]=r2 _SCVLTR("MMLcompiler[M]");
  68. #endif
  69. }
  70.  
  71. ProgramSet()
  72. {
  73.  1[0]=@01 r4 %C   %V127 @C91/40 @C93/83 Q6 V14; /* Melody */
  74.  2[0]=@49 r4 %L4  %V90 @C91/30 @C93/35 Q8 V15; /* String */
  75.  3[0]=@61 r4 %L32 %V90  @C91/30 @C93/35 Q7 V12; /* Horn */
  76.  4[0]=@01 r4 %R16 %V90  @C91/40 @C93/67 Q6 V12; /* Piano 1 */
  77.  5[0]=@03 r4 %L32 %V90  @C91/40 @C93/67 Q6 V12; /* Piano 3 */
  78.  6[0]=@30 r4 %R32 %V100 @C91/40 @C93/55 Q8 V13; /* Ovd Guiter */
  79.  7[0]=@34 r4 %C   %V127 @C91/64 @C93/0  Q6 V12; /* Bass */
  80.  8[0]=@06 r4 %R4  %V90  @C91/40 @C93/60 Q8 V12; /* E.Piano */
  81.  9[0]=@31 r4 %L16 %V80 @C91/90 @C93/99 Q1 V12; /* Dst Guiter */
  82. 10[0]=@01 r4 %C   %V100 @C91/40 @C93/0    ; /* [RHYTHM] */
  83. 11[0]=@81 r4 %L32 %V80  @C91/40 @C93/55 Q8 V13; /* Square Wave */
  84. 16[0]=r2; /* (wait) */
  85. }
  86. #ifdef GS
  87. Canvas Graphic()
  88. {
  89. 15[0]=
  90.  _SCVDOT(?(0b11111111),?(0b11111111),
  91.          ?(0b10101001),?(0b01010001),
  92.          ?(0b10101011),?(0b01010101),
  93.          ?(0b10001001),?(0b01010101),
  94.          ?(0b10101011),?(0b01010101),
  95.          ?(0b10101001),?(0b00000001),
  96.          ?(0b11111111),?(0b11111111),
  97.          ?(0b11111111),?(0b11111111),
  98.          ?(0b11111111),?(0b11111111),
  99.          ?(0b11001111),?(0b11110011),
  100.          ?(0b11000011),?(0b11000011),
  101.          ?(0b11001001),?(0b10010011),
  102.          ?(0b11001100),?(0b00110011),
  103.          ?(0b11001110),?(0b01110011),
  104.          ?(0b11001111),?(0b11110011),
  105.          ?(0b11111111),?(0b11111111));
  106. }
  107. #endif
  108. Intro1()    // (ConG G Am F -- ConG F Gsus4 G)
  109. {
  110.  2[0]=L1 $((ggaf gfgg|>c<b>c<a> c<a>c<b|>edec ecdd<))2;
  111.  3[0]=L8 $(g4.fe4fe d1 e4.dc4dc<a1> e4.dc4ge f1 g4.fe4dc d1)2;
  112.  4[0]=L4O4 r1^1^1^1^1^1^1^1^1^1^1^1 (>c1<a1>cccc<bbbb|>e1c1dddddddd<);
  113.  5[0]=O8L16 r1^1^1^1^1^1^1^1^1^1^1 %h1 c<afc<afc<afc<afc<afc %h0 
  114.      L4O4 g1f1gggggggg;
  115.  6[0]=O5L4 r1^1^1^1^1^1^1^1 
  116.       (e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
  117.       (d2|r4._SLIDE(2,0,-8192,64,8)) u<g>d
  118.       (c2|r4._SLIDE(2,0,-8192,64,8)) u<e>c c1
  119.       (e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
  120.       (f2|r4._SLIDE(2,0,-8192,64,8)) u<a>f >c1<
  121.       (b1|_WAVE(2048,0,30,64,64)) u;
  122.  7[0]=O2 r1^1^1^1^1^1^1^1^1^1^1^1^1^1 <$(g8)16>;
  123. 10[0]=r1^1^1^1^1^1^1^1^1^1^1^1^1^1^1
  124.        bc8t16t16t8m8r16t16r16m16m8f8;
  125. 16[0]=@w"Intro playing now.";
  126. }
  127.  
  128. #for 2
  129.  
  130. Section A()    //(C Em F Fm -- Em AmonE Dm G)
  131. {
  132.  1[0]=O5L8 cdeeeeed eeefe4de   fffff4ff a-gfef4r4
  133.            feeeeeed eddec4<b>c dedc<a2> dedcg2;
  134.  4[0]=L4O4 (cccc eeee ffff ffff   eeee eeee ffff gggg
  135.           | eeee gggg aaaa $(a-)4 gggg aaaa aaaa bbbb 
  136.           | gggg bbbb>cccc cccc<  bbbb>cccc cccc dddd<);
  137.  8[0]=L1O4 (ceff eefg  |  egaa- gaab  |  gb>cc< b>ccd<);
  138.  7[0]=L8O2 cccccccc< bbbbbbbb aaaaaaaa a-a-a-a-a-a-a-a-
  139.            gggggggg  aaaaaaaa ffffffff gggggggg>;
  140.  9[0]=L8O3Q1 c,,8ccc,,8cccc,,8  e,,8eee,,8eeee,,8
  141.              f,,8fff,,8ffff,,8  f,,8fff,,8ffff,,8
  142.              e,,8eee,,8eeee,,8  e,,8eee,,8eeee,,8
  143.              f,,8fff,,8ffff,,8  g,,8ggg,,8gggg,,8;
  144.  9[1]=L8O3Q1 g,,8ggg,,8gggg,,8  b,,8bbb,,8bbbb,,8
  145.             >c,,8ccc,,8cccc,,8  c,,8ccc,,8cccc,,8<
  146.              b,,8bbb,,8bbbb,,8 >c,,8ccc,,8cccc,,8
  147.              c,,8ccc,,8cccc,,8  d,,8ddd,,8dddd,,8<;
  148. 10[0]=bc8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8h8
  149.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8o8
  150.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8h8
  151.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 bh8sh8sh8bo8;
  152. 16[0]=@w"[A] playing now.";
  153. }
  154.  
  155. #next
  156.  
  157. Section B()    //(F ConE Dm C -- F AmonE Dm G)
  158. {
  159.  1[0]=L8 f4ef4edc e4de4dc<b> d4cd4c<b>a e4ce4c<bg>
  160.          f4ef4edc e4de4dc<b> d4cd4c<b>a g1;
  161.  4[0]=(ffff eeee  dddd cccc  ffff eeee  dddd  gggg
  162.       |aaaa gggg  ffff eeee  aaaa aaaa  ffff  bbbb
  163.       |cccc cccc< aaaa gggg >cccc cccc <aaaa> dddd<);
  164.  8[0]=(fedc fedg | agfe aafb |>cc<ag >cc<a>d<);
  165.  9[0]= f,,8ffffff,,8f,,8  e,,8eeeeee,,8e,,8  
  166.        d,,8dddddd,,8d,,8  c,,8cccccc,,8c,,8
  167.        f,,8ffffff,,8f,,8  e,,8eeeeee,,8e,,8
  168.        d,,8dddddd,,8d,,8  g,,8gggggg,,8g,,8;
  169.  9[1]=>c,,8cccccc,,8c,,8  c,,8cccccc,,8c,,8<
  170.        a,,8aaaaaa,,8a,,8  g,,8gggggg,,8g,,8
  171.       >c,,8cccccc,,8c,,8  c,,8cccccc,,8c,,8<
  172.        a,,8aaaaaa,,8a,,8 >d,,8dddddd,,8d,,8<;
  173.  7[0]=ffffffff eeeeeeee dddddddd cccccccc
  174.       ffffffff eeeeeeee dddddddd gggggggg;
  175. 10[0]=bc8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8bh8sh8bh8
  176.       bh8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8sh8sh8bo8
  177.       bh8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8bh8sh8bh8
  178.       bh8bh8sc8h8 bh8bh8sc8h8  r8s8s16s8s16s16s16t16t16m16m16f16f16;
  179. 16[0]=@w"[B] playing now.";
  180. }
  181.  
  182. Section C()    //(C G Am F -- C F Gsus4 G) *2
  183. {
  184.  1[0]=ccdg4g4.   gfge4e4. edeb4^4a a1
  185.       ggg>c4<g4. fffg4f4. c1<b1>
  186.       ccdg4g4.   gfge4e4. edeb4^4a a1
  187.       ggg>c4<g4. fffg4f4. g1g1;
  188.  4[0]=(  gggg  gggg  aaaa  ffff  gggg  ffff  gggg  gggg
  189.        |>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
  190.        |>eeee  dddd  eeee  cccc  eeee  cccc  dddd  dddd<)
  191.       (  gggg  gggg  aaaa  ffff  gggg  ffff  gggg  gggg
  192.        |>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
  193.        |>eeee  dddd  eeee  cccc  eeee  cccc  dddd  dddd<);
  194.  8[0]=$((ggaf gfgg | >c<b>c<a >c<a>c<b | >edec ecdd<))2;
  195.  9[0]=L1 $( g,,8 g,,8 a,,8 f,,8  g,,8 f,,8 g,,8 g,,8 )2;
  196.  9[1]=L1 $(>e,,8 d,,8 e,,8 c,,8  e,,8 c,,8 d,,8 d,,8<)2;
  197.  7[0]=cccccccc <gggggggg aaaaaaaa ffffffff>
  198.       cccccccc <ffffffff gggggggg gggggggg>
  199.       cccccccc <gggggggg aaaaaaaa ffffffff>
  200.       cccccccc <ffffffff gggggggg gggggggg>;
  201. 10[0]=bc8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8h8
  202.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8o8
  203.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 h8h8sh8h8
  204.       bh8h8sh8bh8 h8h8sh8h8  bh8h8sh8bh8 bh8sh8sh8bo8
  205.  
  206.       bc8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8bh8sh8bh8
  207.       bh8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8sh8sh8bo8
  208.       bh8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 h8bh8sh8bh8
  209.       bh8h8sh8bh8 h8bh8sh8bh8  bh8h8sh8bh8 bh8sh8sh8bo8;
  210. 16[0]=@w"[C] playing now.";
  211. }
  212. Section D()
  213. {
  214.  1[0]=>c1^1<;
  215.  4[0]=(c1^1|g1^1|g1^1);
  216.  8[0]=(c1^1|e1^1|g1^1);
  217.  9[0]=(c1^1,,8|g1^1,,8);
  218.  6[0]=r1 o2l32r2 ceg>ceg>ceg>ceg>ceg>c;
  219.  7[0]=c1^1;
  220. 10[0]=bc4r8t8b8m8r16f16r8 s8t8t16m8m16f16f16f16s16s8r8;
  221. }
  222.  
  223. #for 3
  224.  
  225. Section E()
  226. {
  227.  4[0]=(  gggg  gggg  aaaa  ffff  gggg  ffff  gggg  gggg
  228.        |>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
  229.        |>eeee  dddd  eeee  cccc  eeee  cccc  dddd  dddd<);
  230.  8[0]=(ggaf gfgg | >c<b>c<a >c<a>c<b | >edec ecdd<);
  231.  6[0]=O5L4 (e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
  232.            (d2|r4._SLIDE(2,0,-8192,64,8)) u<g>d
  233.            (c2|r4._SLIDE(2,0,-8192,64,8)) u<e>c c1
  234.            (e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
  235.            (f2|r4._SLIDE(2,0,-8192,64,8)) u<a>f >c1<
  236.            b1;
  237.  7[0]=cccccccc< gggggggg aaaaaaaa ffffffff>
  238.       cccccccc <ffffffff gggggggg gggggggg>;
  239. 10[0]=$( bh8h8sh8bh8 h8h8sh8h8 )8;
  240. 11[0]=O5L4 (g2|r4._SLIDE(2,0,-8192,64,8)) ucg
  241.            (g2|r4._SLIDE(2,0,-8192,64,8)) u<b>g
  242.            (e2|r4._SLIDE(2,0,-8192,64,8)) u<a>e 
  243.            (f1|_WAVE(2048,0,30,64,64)) u
  244.            (g2|r4._SLIDE(2,0,-8192,64,8)) ucg
  245.            (a2|r4._SLIDE(2,0,-8192,64,8)) uca >d1<
  246.            b1;
  247. 16[0]=@w"Kansou playing now.";
  248. }
  249.  
  250. #next
  251.  
  252. Section A2()    //(C Em F Fm -- Em AmonE Dm G)
  253. {
  254.  1[0]=O5L8 cdeeeeed eeefe4de   fffff4ff a-gfef4r4
  255.            feeeeeed eddec4<b>c dedc<a2> dedcg2;
  256.  2[0]=o5l1 %v120 (g1^1 f1^1 e1^1 d1^1|<g1^1 f1^1 e1^1 d1^1>);
  257.  4[0]=L4O4 (cccc eeee ffff ffff   eeee eeee ffff gggg
  258.           | eeee gggg aaaa $(a-)4 gggg aaaa aaaa bbbb 
  259.           | gggg bbbb>cccc cccc<  bbbb>cccc cccc dddd<);
  260.  8[0]=L1O4 (ceff eefg  |  egaa- gaab  |  gb>cc< b>ccd<);
  261.  9[0]=L8O3Q1 c,,8ccc,,8cccc,,8  e,,8eee,,8eeee,,8
  262.              f,,8fff,,8ffff,,8  f,,8fff,,8ffff,,8
  263.              e,,8eee,,8eeee,,8  e,,8eee,,8eeee,,8
  264.              f,,8fff,,8ffff,,8  g,,8ggg,,8gggg,,8;
  265.  9[1]=L8O3Q1 g,,8ggg,,8gggg,,8  b,,8bbb,,8bbbb,,8
  266.             >c,,8ccc,,8cccc,,8  c,,8ccc,,8cccc,,8<
  267.              b,,8bbb,,8bbbb,,8 >c,,8ccc,,8cccc,,8
  268.              c,,8ccc,,8cccc,,8  d,,8ddd,,8dddd,,8<;
  269. }
  270. Section B2()    //(F ConE Dm C -- F AmonE Dm G)
  271. {
  272.  1[0]=L8 f4ef4edc e4de4dc<b> d4cd4c<b>a e4ce4c<bg>
  273.          f4ef4edc e4de4dc<b> d4cd4c<b>a g1;
  274.  2[0]=(c1^1 <a1> c1^1^1 d1^1 | <c1^1 <a1> c1^1^1 d1^1>);
  275.  4[0]=(ffff eeee  dddd cccc  ffff eeee  dddd  gggg
  276.       |aaaa gggg  ffff eeee  aaaa aaaa  ffff  bbbb
  277.       |cccc cccc< aaaa gggg >cccc cccc <aaaa> dddd<);
  278.  8[0]=(fedc fedg | agfe aafb |>cc<ag >cc<a>d<);
  279.  9[0]= f,,8ffffff,,8f,,8  e,,8eeeeee,,8e,,8  
  280.        d,,8dddddd,,8d,,8  c,,8cccccc,,8c,,8
  281.        f,,8ffffff,,8f,,8  e,,8eeeeee,,8e,,8
  282.        d,,8dddddd,,8d,,8  g,,8gggggg,,8g,,8;
  283.  9[1]=>c,,8cccccc,,8c,,8  c,,8cccccc,,8c,,8<
  284.        a,,8aaaaaa,,8a,,8  g,,8gggggg,,8g,,8
  285.       >c,,8cccccc,,8c,,8  c,,8cccccc,,8c,,8<
  286.        a,,8aaaaaa,,8a,,8 >d,,8dddddd,,8d,,8<;
  287. }
  288. Section F()
  289. {
  290.  1[0]=>c1^1<;
  291.  2[0]=(e1^1|<e1^1>);
  292.  5[0]=O4 r8c8e8g8>c1;
  293.  4[0]=(c1^1|g1^1|g1^1);
  294.  8[0]=(c1^1|e1^1|g1^1);
  295.  9[0]=(c1^1,,8|g1^1,,8);
  296. 16[0]=$(T-3r8)16;
  297. }
  298.